1. Technical Field
The present invention relates generally to the display of information in a data processing system, and in particular, but not exclusively, to a method, apparatus, and computer instructions for displaying the true status of hierarchical operations being performed in a data processing system.
2. Description of Related Art
Graphical user interfaces (GUIs) are data processing system program interfaces that, among other things, make it relatively easy for users to move data from one application to another. Typically, a user initiates such an operation with a GUI by utilizing a pointing device, such as a mouse, to select certain objects or commands on a display screen. Examples of such GUIs are those provided with the various versions of Microsoft Corporation's Windows Operating System (OS) and Apple Corporation's Macintosh OS.
GUIs are often used to monitor the progress of complex operations with numerous nested steps. For example, typical operations with numerous nested steps include such functions as copying directory trees, installing new software packages, or scanning data processing system files for viruses. However, a major drawback of the visual metaphors provided by GUIs for monitoring the progress of such operations is that these visual representations are flat in dimension and ultimately fail to portray the true status of the underlying operations being performed.
For example, a conventional GUI operation with numerous nested steps is the Windows file copy progress monitor, which is depicted as a screen of display in FIG. 1. As illustrated by the file copy progress monitor 10 in FIG. 1, only one progress bar 12 is displayed. However, the directory 14 being copied (“Portfolio”) can have a large hierarchical structure of data files included within numerous sub-directories or sub-trees. Although the progress bar 12 shows the status of the overall copying operation at the directory level, the conventional GUI displays no useful information about the status of the copying operations also being performed at the sub-directory levels or on individual data files.
A conventional solution to this problem is to show additional progress bars as the copying operation traverses the structure of the directory involved. However, a major drawback of this solution is that it fails if more than three nested levels of operations are to be displayed, because the amount of screen space required for the conventional progress monitor increases linearly with the depth of the traversal operations being performed. Consequently, in order to display the progress of copying operations being performed for four or five nested levels (e.g., sub-directories) within a directory, the dialog box for such a progress monitor has to be exceedingly large.
Another major drawback of conventional file copy progress monitors is that the application that performs the copying operation is required to traverse the entire structure of the directory at least twice. For example, at the onset of the copying operation, the application performing the copying operation has to traverse the entire directory in order to determine just how many files have to be copied. Then, the application traverses the entire directory a second time, while the actual copying operation is being performed. In other words, the copying application has to determine the size of the copying operation, before the copying operation can be performed. Thus, the conventional application wastes precious processing time.
Therefore, it would be advantageous to have an improved method and apparatus for displaying the true status of hierarchical operations being performed in data processing systems, such as, for example, the true status of file copying operations.